SubQuery为Cosmos/Juno提供详细开发者使用指南
自从Terra/Luna生态系统不幸崩溃后,我们一直在与Cosmos中的其他生态系统沟通,并在Juno找到了我们的第一个家。我们一直在幕后调整对Terra最初的支持,并与主要的开发伙伴进行测试。我们自豪地发布对Cosmos更广泛的支持,我们的第一个实现是专门针对Juno的,在这篇文章中,我们分享了一个详细的开发者指南和路线图,供所有Cosmos社区用来解决他们的数据索引需求。
SubQuery是一个开放的数据索引器,灵活而快速。我们的开放索引工具旨在帮助开发者在数小时内建立自己的API,它的设计是在字典(预先计算的索引)的协助下,令人难以置信地快速索引链。我们在Polkadot和Avalanche所有垂直领域的客户(钱包、网络、浏览器、NFT、DeFi、交易扫描仪等)的经验帮助我们建立对Cosmos的支持。
这仍处于早期版本,虽然我们认为它远远超过了"测试版",但如果有任何错误可以报告给我们的团队,我们将非常感激,以便我们能够迅速解决这些问题。
为什么选择使用SubQuery?
尽管严重缺乏一些关键的开发工具和基础设施服务,但应用程序的生态系统在Cosmos中仍然蓬勃发展。在大多数情况下,当我们问团队如何解决他们的数据索引需求时,答案是:
构建自己的解决方案:一个由项目开发人员运行,专门为自己应用程序构建的自定义的实现。但为什么要重复做这件事呢?SubQuery致力于构建一个可靠快速的开放索引器——我们将在数据索引上为你节省时间。
为数据查询设计智能合约:一些团队在智能合约中实现了定制的功能,允许针对应用程序逻辑进行更高级的专项查询。
而在SubQuery中,我们有一个易于使用且快速的开源SDK。它提供了一个标准的GraphQL终端,也可以直接通过postgres数据库查询所需数据。基于此,开发人员可以从智能合约中索引一组独特的数据,从而打造出一款卓越的产品,让竞争对手一败涂地!我们为你提供灵活性,让你以最合适的形式获取所需的数据。
可靠性是关键,数据索引业务需要一个可靠且可扩展的平台来承载。SubQuery的托管服务是业界领先的解决方案,面向所有客户,每天为Polkadot 最大的项目提供数亿条请求。我们为企业级客户提供服务,如专用数据库,冗余集群,智能多集群路由以及高级监控和分析。它将支持你的应用程序,并且实现扩展。
托管服务:
https://subquery.network/managedservices
企业级客户:
https://blog.subquery.network/blogs/20211228-enterprise-hosted.html
几个月后,你将能够通过SubQuery网络(Web3基础设施的未来)完成去中心化的SubQuery基础设施服务。SubQuery网络将以激励和可验证的方式,为全球社区索引功能以服务区块链项目的数据需求。它被设计为支持任何Layer 1 网络(包括Cosmos)的任何SubQuery项目,因此你可以从我们的正式版本发布起,利用统一的SubQuery网络。
安装说明
首先需要通过npm i -g @subql/cli@latest这个命令安装最新版本的@subql/cli。
最好的方法是从我们的初学者项目开始,其包含了一个正在运行的项目,其中包含所有映射函数的示例:该项目索引的内容如下:
BlockHandler:所有的区块及其它们的hash与高度
TransactionHandler:所有交易转账及其它们hash,高度与时间戳
EventHandler:所有智能合约的事件及其hash,高度,发起方,接受方和已筛选的智能合约地址的金额
MessageHandler:所有智能合约的消息及其hash、区块高度、合约、发起方和已过滤的智能合约地址的 execute_msg数据
SubQuery支持对Juno的智能合约进行索引,包括交易和消息订阅及处理程序。你可以在启动项目中看到智能合约支持的工作实例,并在SubQuery文档中阅读相关文档。
SubQuery在Cosmos里的索引实现被设计成同SubQuery在Polkadot里几乎相同的操作,并且与Graph的方法类似。我们已经更新了SubQuery文档,将Cosmos的具体信息添加到一般的SubQuery文档中。你可以从这里开始,遵循这个优秀的入门指南。
启动项目:
https://github.com/subquery/juno-subql-starter
SubQuery文档:
http://doc.subquery.network/build/manifest.html#mapping-handlers-and-filters
入门指南:
https://doc.subquery.network/quickstart/quickstart-cosmos.html
我们对Cosmos的支持
作为我们多链目标的一部分,我们正计划长期支持整个Cosmos生态系统。我们的第一个索引开发是专门从Juno开始的,在那里我们已经完成了大部分的测试,并且对它非常有信心。
然而,我们相信SubQuery的实现应该与大多数其他实现CosmWasm的Cosmos链无缝衔接。虽然SubQuery的Cosmos支持从Juno开始, 但该服务与Cronos, OKExChain, Osmosis, Secret Network, Stargaze, 和Injective一同开始。我们还在CosmosHub上成功地进行了测试,你需要做的就是在project.yaml中添加一个非剪裁的存档节点端点并导入正确的protobuf信息。
部署项目到SubQuery的管理服务中
虽然你能够在基础设施中轻松运行项目,但是SubQuery管理服务已经支持Cosmos项目了!现在你也可以像一些最大的项目一样信赖使用SubQuery的企业级管理服务。作为我们启动合作伙伴协议的一部分,我们将提供3个月的免费托管。
你可以按照这里的指南将你在Cosmos的SubQuery项目发布到我们的管理服务。请注意,你必须使用IPFS而不是GitHub托管你的SubQuery项目。
指南:
https://doc.subquery.network/run_publish/publish.html
使用IPFS:
https://university.subquery.network/run_publish/publish.html
你可以随时更新管理服务项目。我们有一个暂存的部署槽,让你在没有任何停机的情况下进行无缝的蓝色/绿色升级。这个暂存槽也可以用来运行一个干净的SubQuery实例,用一个新的数据库对你的项目进行完整的后台重新索引。客户通常将暂存槽与他们应用程序的暂存/开发版本联系起来。
部署槽:
https://blog.subquery.network/blogs/20210604-Deployment-Slots-are-here-for-SubQuery-Projects.html
一旦部署,你可以使用SubQuery Explorer访问项目,并直接从应用程序向提供的GraphQL端点提出请求。如果你希望我们启用更多高级功能,如GraphQL订阅、更复杂的查询和聚合功能,请告诉我们。
订阅:
https://university.subquery.network/run_publish/subscription.html
聚合:
https://university.subquery.network/run_publish/aggregate.html
一旦部署了你的项目,请通知我们,因为我们可能需要协助微调批量大小,以确保我们的Juno存档节点使你的项目运行良好。
SubQuery对Cosmos的支持
今天我们分享的主要内容为:
区块与事件的高级索引
在我们免费的企业级托管服务中全面支持Cosmos生态系统
SubQuery大学中直观的文档
在未来几周,你可以期待:
Cosmos字典。预先计算的索引,以大大减少索引的时间
在SubQuery学院中的逐步学习课程
在我们去中心化的SubQuery网络中全面支持Cosmos(你很快就会在我们目前的Frontier测试网络中看到一个项目)
“我们测试版的推出意味着SubQuery为三个领先的layer-1提供多链支持,专注于多链方法(Polkadot、Avalanche和Cosmos)。我们渴望从社区获得反馈,以改进我们的产品,并提高我们的知名度,作为Web3 中增长最快的开发者社区之一的可信基础设施合作伙伴。” ---James Bayly
重要链接:
Cosmos(Juno)项目示例:
https://github.com/subquery/juno-subql-starter
项目部署到托管服务:
https://project.subquery.network/
关于SubQuery
SubQuery是运行在 Layer 1 网络和dApp之间的去中心化数据聚合、索引和查询层,为开发者和用户提供区块链开发工具包、完整的API、开源索引器等服务,能够组织和查询链上数据,并通过GraphQL提供更加逻辑清晰、简明易懂的分析数据,帮助开发者专注于部署产品核心,而无需在自定义后端技术上浪费精力。目前服务于Polkadot,Kusama ,Avalanche和Terra。SubQuery Network提供同样的可扩展且高性能的解决方案,是以完全去中心化的方式呈现。
Website:
https://www.subquery.network/
Discord中文群:
https://discord.gg/ysdwnUSTQC
Telegram中文群:
t.me/subquerychina
Mixin中文群:
https://subquery.mixinbots.com/join
往期精彩
《SubQuery Network通过Hacken智能合约审核》
《SubQuery赞助Polkadot北美Hackathon》
《庆祝Zoombies成为SubQuery资助计划的另一位毕业生》
《庆祝Dapplooker成为SubQuery资助项目的第一个毕业生》
《SubQuery祝贺Gitcoin GR 13 Hackathon的获胜者们》